# Author : Lzhiyu
# 时间 : 2021/10/17 21:46
# 项目名称 : 购物车
# Software: PyCharm

# 购物车程序项目
# 要求：
# 1、运行程序后，让用户输入支付宝余额，然后打印我们的商品列表给用户。
# 2、让用户输入商品编号进行商品的购买。
# 3、用户选择商品后，检查用户的余额是否够，若够则直接扣款，不够则提醒用户。
# 4、用户可以随时退出购买，推出时打印用户已购买的商品和支付宝余额。
bh = ["101","102","103","104","105"]
sp = ["乌龙茶","Python课本","悲惨人生重开药丸","蓝色高跟鞋","课程表VIP会员"]
jg = [8,128,666,130,60]

yue = input("请输入您的支付宝余额：")

# while not 当 yue 所输入的非数字时，将会无限循环
# isdigit()方法检测字符串是否只由数字组成。
# while True后面加不了语句（疑似），while not可以
while not yue.isdigit():
    yue = input("请输入正确形式的支付宝余额：")
yue = int(yue)  # 单独int一行是为了让第48行代码的 yue str→int 成功运行

print("--------------商品信息-------------")

# 遍历循环 sp
# enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列，同时列出数据和数据下标，一般用在 for 循环当中。
# for 索引,商品 in enumerate(sp):
#     print("商品编号：",索引,"商品名称：",商品,"商品价格：",jg[索引])
for 索引,商品,价格 in zip(bh,sp,jg):
    print("商品编号：",索引,"商品名称：",商品,"商品价格：",价格)
print("----------------------------------")
shuru = []
gwc = []  # 购物车（初始为空列表
gjje = 0 # 共计金额（初始为0元
while not shuru == "退出":
    shuru = input("请输入您要购买商品的编号(如需查看商品信息，请输入“查看”，如需要退出系统，请输入”退出“):")
    # 判断输入的编号是否存在与 bh 中
    if shuru in bh:
        # 先引入索引帮助找到商品和价格
        i = bh.index(shuru)
        spmc = sp[i]
        sjjg = jg[i]
        # 判断当余额大于商品价格的情况
        if yue >= sjjg:
            yue = yue - sjjg
            gwc.append([shuru,spmc,sjjg])
            gjje = gjje + sjjg
            print("你购买了{},此次花费{},目前余额{}".format(spmc,sjjg,yue))
        else:
            print("穷光蛋就不要买我们家的东西了！")
    elif shuru == "查看":
        print("--------------商品信息-------------")
        for 索引, 商品, 价格 in zip(bh, sp, jg):
            print("商品编号：", 索引, "商品名称：", 商品, "商品价格：", 价格)
        print("----------------------------------")
    elif shuru == "退出":
        print("--------------本次购物清单------------")
        for 商品编号,商品名称,商品价格 in gwc:
            print("商品编号：",商品编号,"商品名称：",商品名称,"商品价格",商品价格)
        print("您目前共花费：{}, 目前所剩余额：{}".format(gjje,yue))
        print("------------------------------------")
        print("期待您的下次购物~")
    else:
        print("请输入正确形式的商品编号谢谢，认真审题可以吗？")
#     else:
#         print("您输入的编号有问题，请重新输入")
#
# elif shuru == "退出":
#     print("期待您的下次购物~")
# else:
#     print("请输入正确形式的商品编号谢谢，认真审题可以吗？")
